package com.jt.controller;

import com.jt.service.FileService;
import com.jt.vo.ImageVO;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

@RestController
public class FileController {
    @Autowired
    private FileService fileService;
    /**文件上传案例,通过访问http://localhost:8091/file.jsp
     * url地址:http://localhost:8091/file
     * 参数: 文件信息 fileImage
     * 返回值: String
     */
    @RequestMapping("/file")
    public String file(MultipartFile fileImage) throws IOException {
        //获取图片的名称
        String name = fileImage.getOriginalFilename();
        //定义文件的目录
        String fileDirPath = "C:/images";//window不区分大小写,但是Linux区分,注意不要使用转译的\\使用/
        //创建目录
        File fileDir = new File(fileDirPath);//目录对象
        if (!fileDir.exists()){
            fileDir.mkdirs();
        }
        //生成文件的全路径
        String filePath=fileDirPath+"/"+name;
        File imgFile = new File(filePath);//全路径对象
        //实现文件的上传
        //  传来的图片对象.transferTo(Java的File对象)
        fileImage.transferTo(imgFile);
        return "文件上传成功";
    }


    /**
     * 实现文件上传操作
     * url:  http://localhost:8091/pic/upload?dir=image
     * 参数: uploadFile
     * 返回值的结果:ImageVO对象
     */
    @RequestMapping("/pic/upload")
    public ImageVO upload(MultipartFile uploadFile){
        return fileService.upload(uploadFile);
    }
}
